1. Field of the Invention
The present invention relates to a method of managing a transmission buffer memory for use in asynchronous transfer mode (ATM) communications and, more particularly, to an ATM communication device for carrying out ATM communications by using the transmission buffer memory management method.
2. Description of the Prior Art
Referring now to FIG. 16, there is illustrated a block diagram showing a prior art method of managing a transmission buffer memory within an ATM terminal as disclosed in "SARA Chipset Technical Manual" by TranSwitch, Corp. which describes SARA chipset devices which are LSI circuits for segmenting a packet into ATM cells. In the figure, reference numeral 1 denotes an LSI for segmenting a data to be transmitted into a plurality of ATM cells and for sending out the plurality of ATM cells, 2 denotes a control memory for storing various pieces of control information which is referred to when the LSI 1 sends out the plurality of ATM cells, and 3 denotes a buffer memory for storing a data to be transmitted.
In operation, when a data transmission request source makes a request for data transmission by way of a connection, which is one of connectable communication paths which has been established between the ATM terminal and the destination, a data to be transmitted is transferred to the buffer memory 3 which is also referred to as the transmission buffer memory. An address specifying a memory location of the buffer memory 3 where the data to be transmitted is stored, the traffic class of the connection through which the data is to be transmitted, traffic parameters, and so on are then prepared in the control memory 2, and the LSI 1 is initiated so that it starts to send out the data. As a result, the LSI 1 reads the data to be transmitted from the buffer memory 3 by referring to the address specifying the memory location prepared in the control memory 2, and then segments the data to be transmitted into a plurality of ATM cells according to the various kinds of parameters. The LSI 1 then starts to send out each of the ATM cells on an ATM network. At the completion of segmenting the data to be transmitted which is stored in the buffer memory 3 and sending out the data by way of the ATM network, an area of the buffer memory 3 in which the data has been stored is released. If another request for data transmission by way of another connection is made before the completion of the above data transmission, another data to be transmitted which is associated with the other data transmission request is transferred to a free area of the buffer memory 3, and another address specifying a memory location of the buffer memory 3 where the other data to be transmitted is stored, the traffic class of the second connection through which the other data is to be transmitted, traffic parameters, and so on are also prepared in the control memory 2. The LSI 1 is then initiated so that it starts to send out the other data on the ATM network. The LSI 1 segments the other data to be transmitted through the second connection into a plurality of ATM cells, and then multiplexes the first plurality of ATM cells to be transmitted via the first connection and the second plurality of ATM cells to be transmitted via the second connection and then sends out these ATM cells on the ATM network cell by cell.
In the prior art transmission buffer memory management method, when a number of requests for data transmission by way of an identical connection are generated, the buffer memory 3 of the ATM terminal can be occupied by a number of data to be transmitted which have been transferred thereto according to the requests. As a result, the buffer memory 3 has no sufficient free area for another data to be transmitted to be stored when another request for data transmission by way of another connection is made. This thus makes it impossible for the ATM terminal using the prior art method to send out another data by way of another connection even though there is a free space in the band of the ATM network.
Furthermore, there is a case where the buffer memory 3 is not occupied by a number of data to be transmitted by way of an identical connection, but there is no sufficient free area in the buffer memory 3 for a request for data transmission by way of another logical connection. In such a case, the ATM terminal cannot send out another data to be transmitted on the ATM network, like the above case.